切换主题
自执行函数:for循环 + setTimeout 例子
字数
83 字
阅读时间
1 分钟
问题:
for( var i=0;i<3;i++){
setTimeout(function(){
console.log(i);
}
,300);
}
// 输出结果 3,3,3
写法一:
for( var i=0;i<3;i++){
(function(lockedIndex){
setTimeout(function(){
console.log(lockedIndex);
}
,300);
})(i);
}
// 输出 "1,2,3"
写法二:比写法一先执行
for( var i=0;i<3;i++){
setTimeout((function(lockedInIndex){
console.log(lockedInIndex);
})(i)
,300);
}
// 输出 "1,2,3"